import { createStore } from 'vuex'
import carModules from './modules/cart'
import createPersistedState from 'vuex-persistedstate'
import userModules from './modules/user'
import cartPlugin from './plugins/cart'
import addressModules from './modules/address'

// 创建vuex实例
const store = createStore({
    //严格模式
    strict: true,
    //vuex 插件
    plugins: [
        createPersistedState({
            //指定 store 中的哪些状态数据需要进行本地持久化保存
            paths: ['user.token','shoppingCart.cart',],
            // 本都存储
            storage: sessionStorage,
        }),
        cartPlugin,
    ],
    //模块
    modules: {
        shoppingCart: carModules, // 在 cartModule 中开启了命名空间，则其命名空间名称为 shoppingCart
        user: userModules,
        address: addressModules,
    }
})


// 导出
export default store